﻿#ifndef WRWORKMAINGUIPART_H
#define WRWORKMAINGUIPART_H

#include <QWidget>
#include "WRGlobal.h"
#include "../WRSoft-Utility/WRObjRef.h"
#include "../WRSoft-Working-Common/WRWorkDaemon.h"

//表示工作主界面部件。
class WRSOFT_GUIAPP_WORKING_COMMON_CLASS WRWorkMainGuiPart : public QWidget
{
    Q_OBJECT

    friend class WRWorkMainWindow;

private:
    //部件状态，是否打开。
    bool m_status;

protected:
    //初始部件。
    virtual void init(const WRObjRef<WRWorkDaemon>& daemon);
    //打开部件。
    virtual void open(void);
    //关闭部件。
    virtual void close(void);

    //初始化工作主界面部件。
    WRWorkMainGuiPart();

public:
    //获取部件状态。
    inline bool status(void) const
    {
        return m_status;
    }
    //设置部件状态。
    inline void status(bool value)
    {
        if (value != m_status)
        {
            m_status = value;
            if (value) open();
            else close();
        }
    }

    //获取推荐尺寸。
    QSize sizeHint() const;
};

#endif // WRWORKMAINGUIPART_H
